package net.airtheva.hexagonMatrix.data;

public class Vertex {

	public Vector3f Position;
	public Vector4f Color;
	public Vector2f TexCoord;
	
	public Vertex() {
		Position = new Vector3f();
		Color = new Vector4f();
		TexCoord = new Vector2f();
	}
	
	public Vertex Position(float x, float y, float z) {
		Position.Data[0] = x;
		Position.Data[1] = y;
		Position.Data[2] = z;
		return this;
	}
	
	public Vertex Position(Vector3f position) {
		Position.Data[0] = position.Data[0];
		Position.Data[1] = position.Data[1];
		Position.Data[2] = position.Data[2];
		return this;
	}
	
	public Vertex Color(float x, float y, float z, float w) {
		Color.Data[0] = x;
		Color.Data[1] = y;
		Color.Data[2] = z;
		Color.Data[3] = w;
		return this;
	}
	
	public Vertex Color(Vector4f color) {
		Color.Data[0] = color.Data[0];
		Color.Data[1] = color.Data[1];
		Color.Data[2] = color.Data[2];
		Color.Data[3] = color.Data[3];
		return this;
	}
	
	public Vertex TexCoord(float x, float y) {
		TexCoord.Data[0] = x;
		TexCoord.Data[1] = y;
		return this;
	}
	
	public Vertex TexCoord(Vector2f texCoord) {
		TexCoord.Data[0] = texCoord.Data[0];
		TexCoord.Data[1] = texCoord.Data[1];
		return this;
	}
	
}
